////////////////////////////////////////////////////////////////////////////////////////////////////
//
// Scene where entities are organized in different vertical and horizontal layers
//
////////////////////////////////////////////////////////////////////////////////////////////////////

#pragma once

#include "scenes/Scene.h"
#include "scenes/emitterScene/EmitterSceneBuffers.h"
#include "scenes/emitterScene/EmitterSceneResources.h"
#include "scenes/emitterScene/EmitterSceneSettings.h"
#include "scenes/emitterScene/EmitterSceneShaders.h"

class EmitterScene : public Scene {
	emitterScene::Settings mSettings;

	emitterScene::ConstantBuffers mConstantBuffers;

	emitterScene::Shaders mShaders;

	emitterScene::Resources mResources;

public:
	EmitterScene();

	void init();

	void draw();
	void destroy();

private:
	void initCamera() const;
	void initPipeline();
};